/**  
 * All rights Reserved, Designed By www.flksh.com
 * @date:   2017-10-30 15:40:52   
 * @Copyright: 2013-2017 www.flksh.com Inc. All rights reserved. 
 * 注意：本内容仅限于上海福乐康社区养老服务有限公司内部传阅，禁止外泄以及用于其他的商业目
 */
package com.zx.cloud.domain;

import java.math.BigDecimal;
import java.time.OffsetDateTime;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.zx.cloud.model.BasicDomain;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zx.cloud.util.converter.jackson.OffsetDateTimeToIso8601Serializer;

import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * 
 * zx_repay_order-还款订单表
 *
 */
@ToString
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)
public class RepayOrder extends BasicDomain{

	private static final long serialVersionUID = 1L;
	/**
	 * 申请交易流水号
	 */
	@ApiModelProperty(value = "申请交易流水号")
	 private String tradeNumber;

	public String getTradeNumber() {
		return tradeNumber;
	}

	public void setTradeNumber(String tradeNumber) {
		this.tradeNumber = tradeNumber;
	}
	
	/**2017-11-01-add--start*/
	/**
	 * 手机号码
	 */
	@ApiModelProperty(value = "手机号码")
	 private String phone;
	 public String getPhone() {
	        return this.phone;
	    }
	 public void setPhone(String phone) {
	        this.phone = phone;
	    }
	/**
	 * 真实姓名
	 */
	@ApiModelProperty(value = "真实姓名")
	 private String realName;
	 public String getRealName() {
	        return this.realName;
	    }
	 public void setRealName(String realName) {
	        this.realName = realName;
	    }
		/**
		 * 订单编号
		 */
	@ApiModelProperty(value = "订单编号")
	 private String orderNo;
	 public String getOrderNo() {
			return orderNo;
		}
	 public void setOrderNo(String orderNo) {
			this.orderNo = orderNo;
		}
  /**
	 * 借款金额
	 */
	@ApiModelProperty(value = "借款金额")
	 private BigDecimal loanAmount;
	public BigDecimal getLoanAmount() {
        return this.loanAmount;
    }
    public void setLoanAmount(BigDecimal loanAmount) {
        this.loanAmount = loanAmount;
    }
    /**
	   * 费用总和
	   */
	@ApiModelProperty(value = "费用总和")
	 private BigDecimal feeTotal;
	 public BigDecimal getFeeTotal() {
	        return this.feeTotal;
	    }
	    
	 public void setFeeTotal(BigDecimal feeTotal) {
	        this.feeTotal = feeTotal;
	    }
	
	/**
	 * 实际到账金额
	 */
	@ApiModelProperty(value = "实际到账金额")
	 private BigDecimal actualAmount;
	 public BigDecimal getActualAmount() {
	        return this.actualAmount;
	    }
	    
	 public void setActualAmount(BigDecimal actualAmount) {
	        this.actualAmount = actualAmount;
	    }
	 
	/**
	 * 到期时间
	 */
	@ApiModelProperty(value = "借款时间")
	@JsonSerialize(using = OffsetDateTimeToIso8601Serializer.class)		
	 private OffsetDateTime borrowTime;
	public OffsetDateTime getBorrowTime() {
		return borrowTime;
	}
	public void setBorrowTime(OffsetDateTime borrowTime) {
		this.borrowTime = borrowTime;
	}
	/**
	 * 借款期限
	 */
	@ApiModelProperty(value = "借款期限")
	 private Integer loanTerm;
	public Integer getLoanTerm() {
        return this.loanTerm;
    }
    public void setLoanTerm(Integer loanTerm) {
        this.loanTerm = loanTerm;
    }
    /**
	 * 会员主键
	 */
	@ApiModelProperty(value = "会员主键")
	 private Long clientId;
	public Long getClientId() {
        return this.clientId;
    }
    public void setClientId(Long clientId) {
        this.clientId = clientId;
    }
    /**
	 * 流水号
	 */
	@ApiModelProperty(value = "流水号")
	 private String serialNumber;
	public String getSerialNumber() {
        return this.serialNumber;
    }
    public void setSerialNumber(String serialNumber) {
        this.serialNumber = serialNumber;
    }
    
    /**
	 * 交易请求
	 */
	@ApiModelProperty(value = "交易请求")
	 private String request;
	
	public String getRequest() {
		return request;
	}
	public void setRequest(String request) {
		this.request = request;
	}
	/**
	 * 交易响应
	 */
	@ApiModelProperty(value = "交易响应")
	 private String response;
	
	public String getResponse() {
		return response;
	}
	public void setResponse(String response) {
		this.response = response;
	}
	
	@ApiModelProperty(value = "交易类型：1成功，2失败")
	 private Integer repayResult;
	public Integer getRepayResult() {
		return repayResult;
	}
	public void setRepayResult(Integer repayResult) {
		this.repayResult = repayResult;
	}
	
	/**2017-11-01-add---end*/
	/**
	 * 放款时间
	 */
	@ApiModelProperty(value = "放款时间")
	@JsonSerialize(using = OffsetDateTimeToIso8601Serializer.class)		
	 private OffsetDateTime loanTime;
	 public OffsetDateTime getLoanTime() {
		return loanTime;
	}

	public void setLoanTime(OffsetDateTime loanTime) {
		this.loanTime = loanTime;
	}

	/**
	 * 主键
	 */
	@ApiModelProperty(value = "主键")
	 private Long id;
	/**
	 * 借款订单表主键
	 */
	@ApiModelProperty(value = "借款订单表主键")
	 private Long loanOrderId;
	/**
	 * 应还金额
	 */
	@ApiModelProperty(value = "应还金额")
	 private BigDecimal repayAmount;
	/**
	 * 逾期利率
	 */
	@ApiModelProperty(value = "逾期利率")
	 private BigDecimal overdueRate;
	/**
	 * 逾期金额
	 */
	@ApiModelProperty(value = "逾期金额")
	 private BigDecimal overdueAmount;
	/**
	 * 0未逾期，1逾期
	 */
	@ApiModelProperty(value = "0未逾期，1逾期")
	 private Integer isOverdue;
	/**
	 * 逾期天数
	 */
	@ApiModelProperty(value = "逾期天数")
	 private Integer overdueDays;
	/**
	 * 逾期等级
	 */
	@ApiModelProperty(value = "逾期等级")
	 private String overdueGrade;
	/**
	 * 实际还款金额
	 */
	@ApiModelProperty(value = "实际还款金额")
	 private BigDecimal actualRepayment;
	/**
	 * 0未还款,1部分还款，2已结清
	 */
	@ApiModelProperty(value = "0未还款,1部分还款，2已结清")
	 private Integer status;
	/**
	 * 到期时间
	 */
	@ApiModelProperty(value = "到期时间")
	@JsonSerialize(using = OffsetDateTimeToIso8601Serializer.class)		
	 private OffsetDateTime expirationTime;
	/**
	 * 记录数据生成时间
	 */
	@ApiModelProperty(value = "记录数据生成时间")
	@JsonSerialize(using = OffsetDateTimeToIso8601Serializer.class)		
	 private OffsetDateTime createTime;
	/**
	 * 最后更新时间
	 */
	@ApiModelProperty(value = "最后更新时间")
	@JsonSerialize(using = OffsetDateTimeToIso8601Serializer.class)		
	 private OffsetDateTime updateTime;
	/**
	 * 备注
	 */
	@ApiModelProperty(value = "备注")
	 private String remark;
    
    public RepayOrder(){
    
    }
    
    public Long getId() {
        return this.id;
    }
    
    public void setId(Long id) {
        this.id = id;
    }
    public Long getLoanOrderId() {
        return this.loanOrderId;
    }
    
    public void setLoanOrderId(Long loanOrderId) {
        this.loanOrderId = loanOrderId;
    }
    public BigDecimal getRepayAmount() {
        return this.repayAmount;
    }
    
    public void setRepayAmount(BigDecimal repayAmount) {
        this.repayAmount = repayAmount;
    }
    public BigDecimal getOverdueRate() {
        return this.overdueRate;
    }
    
    public void setOverdueRate(BigDecimal overdueRate) {
        this.overdueRate = overdueRate;
    }
    public BigDecimal getOverdueAmount() {
        return this.overdueAmount;
    }
    
    public void setOverdueAmount(BigDecimal overdueAmount) {
        this.overdueAmount = overdueAmount;
    }
    public Integer getIsOverdue() {
        return this.isOverdue;
    }
    
    public void setIsOverdue(Integer isOverdue) {
        this.isOverdue = isOverdue;
    }
    public Integer getOverdueDays() {
        return this.overdueDays;
    }
    
    public void setOverdueDays(Integer overdueDays) {
        this.overdueDays = overdueDays;
    }
    public String getOverdueGrade() {
        return this.overdueGrade;
    }
    
    public void setOverdueGrade(String overdueGrade) {
        this.overdueGrade = overdueGrade;
    }
    public BigDecimal getActualRepayment() {
        return this.actualRepayment;
    }
    
    public void setActualRepayment(BigDecimal actualRepayment) {
        this.actualRepayment = actualRepayment;
    }
    public Integer getStatus() {
        return this.status;
    }
    
    public void setStatus(Integer status) {
        this.status = status;
    }
    public OffsetDateTime getExpirationTime() {
        return this.expirationTime;
    }
    
    public void setExpirationTime(OffsetDateTime expirationTime) {
        this.expirationTime = expirationTime;
    }
    public OffsetDateTime getCreateTime() {
        return this.createTime;
    }
    
    public void setCreateTime(OffsetDateTime createTime) {
        this.createTime = createTime;
    }
    public OffsetDateTime getUpdateTime() {
        return this.updateTime;
    }
    
    public void setUpdateTime(OffsetDateTime updateTime) {
        this.updateTime = updateTime;
    }
    public String getRemark() {
        return this.remark;
    }
    
    public void setRemark(String remark) {
        this.remark = remark;
    }
    
    private String verifyCode;//审核编码
   	public String getVerifyCode() {
   		return verifyCode;
   	}
   	public void setVerifyCode(String verifyCode) {
   		this.verifyCode = verifyCode;
   	}
   	
   	/**
	 * 到期时间（展示）
	 */
	@ApiModelProperty(value = "到期时间（展示）")
	@JsonSerialize(using = OffsetDateTimeToIso8601Serializer.class)		
	 private OffsetDateTime expirationShow;

	public OffsetDateTime getExpirationShow() {
		return expirationShow;
	}

	public void setExpirationShow(OffsetDateTime expirationShow) {
		this.expirationShow = expirationShow;
	}
	
	
}
